@@ -15,3 +15,7 @@ urlpatterns += [ |
||
| 15 | 15 |
url(r'^uuid$', photo_views.uuid, name='uuid'), |
| 16 | 16 |
url(r'^photos/upload$', photo_views.upload_photo, name='upload_photo'), |
| 17 | 17 |
] |
| 18 |
+ |
|
| 19 |
+urlpatterns += [ |
|
| 20 |
+ url(r'^s/(?P<session>\w+)$', photo_views.session_detail_api, name='session_detail_api'), |
|
| 21 |
+] |
@@ -71,4 +71,14 @@ class PhotosInfo(CreateUpdateMixin): |
||
| 71 | 71 |
'photo': self.photo_id, |
| 72 | 72 |
} |
| 73 | 73 |
|
| 74 |
+ def _detail(self): |
|
| 75 |
+ return {
|
|
| 76 |
+ 'pk': self.pk, |
|
| 77 |
+ 'user': self.lensman_id, |
|
| 78 |
+ 'session': self.session_id, |
|
| 79 |
+ 'photo': self.photo_id, |
|
| 80 |
+ 'photo_url': self.p_photo_url, |
|
| 81 |
+ } |
|
| 82 |
+ |
|
| 74 | 83 |
data = property(_data) |
| 84 |
+ detail = property(_detail) |
@@ -113,6 +113,17 @@ def upload_photo(request): |
||
| 113 | 113 |
}) |
| 114 | 114 |
|
| 115 | 115 |
|
| 116 |
+def session_detail_api(request, session): |
|
| 117 |
+ photos = PhotosInfo.objects.filter(session_id=session) |
|
| 118 |
+ return JsonResponse({
|
|
| 119 |
+ 'status': 200, |
|
| 120 |
+ 'data': {
|
|
| 121 |
+ 'count': photos.count(), |
|
| 122 |
+ 'photos': [p.detail for p in photos] |
|
| 123 |
+ } |
|
| 124 |
+ }) |
|
| 125 |
+ |
|
| 126 |
+ |
|
| 116 | 127 |
def session_detail(request, session): |
| 117 | 128 |
photos = PhotosInfo.objects.filter(session_id=session) |
| 118 | 129 |
return render(request, 'photo/session_detail.html', {'photos': photos})
|